Business people commonly employ office productivity tools, e.g., word processing tools, spreadsheet tools, and other tools, to author business documents. These tools offer various capabilities to merge data with content. As an example, using a “mail merge” feature, business people are able to create templates for letters using a word processing tool, replace fields in the letter with data from a spreadsheet, and print multiple letters wherein each letter is addressed to a different person at a different address. The “mail merge” feature may also be used to print labels or envelopes.
Information technology professionals at businesses can create large and complex systems to automate similar tasks. As an example, when a financial institution sends statements to customers, a complex information technology system may retrieve financial data pertaining to each customer and generate documents including the retrieved financial data that are then mailed to customers.
Conventionally, business people employ office productivity tools to “model” relationships between data. The business people may also employ the office productivity tools to create charts or other visual aids to meaningfully convey the data in a form that is more readily understood than studying complex tables of numbers. However, office productivity tools are generally not suitable for producing large numbers of documents at a server. As examples, there may be business limits imposed by license agreements, technical limits because the office productivity software was not designed to be executed as a server tool, or other reasons. Moreover, the information technology professionals may be more comfortable using development tools and programming languages so that their applications can “scale” to use by hundreds or even thousands of users concurrently.
U.S. Pat. No. 7,010,779 describes a technique for generating code from a spreadsheet document. A user can input various formulae and data into a spreadsheet document, and the described technique can emit source code that information technology professionals can combine with other applications to execute the input formulae and/or employ the input data.
However, the information technology professionals may still need to perform sophisticated programming to generate adequate business output for distribution.